home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1997 August / Walnut Creek CDROM.7z / VOL_400 / 450_01 / CPPIMA / EXAMPLES / AVERAGE.CC < prev    next >
Encoding:
C/C++ Source or Header  |  1995-01-24  |  1.6 KB  |  61 lines

  1. static const char rcs_id[] = "$Header: /disk1/schutte/src_tree/cppima/examples/RCS/average.cc,v 1.2 1994/06/07 15:20:16 schutte Exp schutte $";
  2. //    cppima: a C++ image processing library
  3.  
  4. //    Copyright (C) 1992  Klamer Schutte
  5.  
  6. //    klamer@mi.el.utwente.nl
  7.  
  8. //    This library is free software; you can redistribute it and/or
  9. //    modify it under the terms of the GNU Library General Public
  10. //    License as published by the Free Software Foundation; either
  11. //    version 2 of the License, or (at your option) any later version.
  12.  
  13. //    This library is distributed in the hope that it will be useful,
  14. //    but WITHOUT ANY WARRANTY; without even the implied warranty of
  15. //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  16. //    Library General Public License for more details.
  17.  
  18. //    You should have received a copy of the GNU Library General Public
  19. //    License along with this library; if not, write to the Free
  20. //    Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  21.  
  22.  
  23. // $Log: average.cc,v $
  24. // Revision 1.2  1994/06/07  15:20:16  schutte
  25. // Changed from VIFF to IMA.
  26. //
  27. // Revision 1.1  1992/09/25  15:35:30  klamer
  28. // Initial revision
  29. //
  30.  
  31. // Program to calculate the average value of an image.
  32.  
  33. #include    <iostream.h>
  34.  
  35. #include    <cppima/charimaimage.h>
  36. #include    <cppima/imageiter.h>
  37.  
  38. double
  39. totalImagePixels( const Image &imm )
  40. {
  41.     ImageIter    iter(imm);
  42.  
  43.     double    total = 0;
  44.     int    nr = 0;
  45.  
  46.     while(iter())
  47.     {
  48.         nr++;
  49.         total+=iter.readdouble();
  50.     }
  51.  
  52.     return total / nr;
  53. }
  54.  
  55. main(int , char *argv[])
  56. {
  57.     double     val = totalImagePixels(CharImaImage(argv[1]));
  58.  
  59.     cout << "Mean value of " << argv[1] << " is: " << val << endl;
  60. }
  61.